import fs from 'fs/promises'
import path from 'path'
import { fileURLToPath } from 'url'
import logger from '../services/logger.js'

const __dirname = path.dirname(fileURLToPath(import.meta.url))
const CONFIG_FILE = path.join(__dirname, 'model.json')

// 加载配置文件
async function loadConfig() {
  try {
    const data = await fs.readFile(CONFIG_FILE, 'utf8')
    return JSON.parse(data)
  } catch (error) {
    logger.error('Failed to load config:', error)
    throw error
  }
}

// 保存配置文件
async function saveConfig(newConfig) {
  try {
    await fs.writeFile(
      CONFIG_FILE,
      JSON.stringify(newConfig, null, 2),
      'utf8'
    )
    
    // 更新内存中的配置
    Object.assign(config, newConfig)
    
    logger.info('Configuration saved successfully')
  } catch (error) {
    logger.error('Failed to save config:', error)
    throw error
  }
}

// 初始化配置
const config = await loadConfig()

// 修改导出方式
export {
  config,  // 默认导出改为命名导出
  loadConfig,
  saveConfig
} 